Optimizations for hybrid word processing and graphical content authoring

ABSTRACT

Embodiments provide interactive computer-implemented rich heterogeneous content authoring features. In an embodiment, a computer-implemented method includes an interaction model that uses an input state associated with a user operation and an electronic page interface to provide an interactive authoring experience. In one embodiment, a note taking client can include an interaction model used in part to automatically control aspects of an electronic note page. Other embodiments are included and available.

BACKGROUND

Ultimately, a user's experience with a computer application dictateswhether the user recommends the product to others or purchasesadditional products from an application vendor. For example, note takingapplication users expect input flexibility, allowing for the positioningof content anywhere on an electronic page, including text, electronicink, and pictures (e.g., slides, spreadsheets, images, etc.). That is,note taking application developers attempt to provide free-forminteractive operations for application users. For example, a developermay choose to write code that directs a user's click to the nearestcontent based on some proximity factor or directly onto a page where theuser clicked.

In some cases, inefficiencies compound with wasted input operations thatmay include any additional corrective actions required to obtain adesirable result. For example, a note taking application may be biasedtowards creating new objects on a page rather than adding to existingcontent as a user expected to result from an input operation. Moreover,due in part to free form interactions and display limitations,computer-implemented notes may tend to appear in disarray or cluttered.For example, electronic notes may not align from page to page, resultingin a disorganized or messy appearance as the user flips between multiplepages. One valuable aspect of a quality electronic note takingapplication is a flexible page surface. However, too much flexibilitycan lead to messy notes. A note taking application that includes abalance of flexibility and imposed structure can enable users to creategood looking, uncluttered notes, and at the same time, make it easy towork with an electronic page interface.

SUMMARY

This summary is provided to introduce a selection of concepts in asimplified form that are further described below in the DetailedDescription. This summary is not intended to identify key features oressential features of the claimed subject matter, nor is it intended asan aid in determining the scope of the claimed subject matter.

Embodiments provide interactive computer-implemented rich heterogeneouscontent authoring features. In an embodiment, a computer-implementedmethod includes an interaction model that uses an input state associatedwith a user operation and an electronic page interface to provide aninteractive authoring experience. In one embodiment, a note takingclient can include an interaction model used in part to automaticallycontrol aspects of an electronic note page. Other embodiments areincluded and available.

These and other features and advantages will be apparent from a readingof the following detailed description and a review of the associateddrawings. It is to be understood that both the foregoing generaldescription and the following detailed description are explanatory onlyand are not restrictive of the invention as claimed.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram of an exemplary computing system.

FIG. 2 is a flow diagram illustrating aspects of an exemplary electronicnote taking process.

FIGS. 3A-3E depict aspects of an exemplary electronic note takingapplication interface.

FIG. 4 is a flow diagram illustrating aspects of an exemplary electronicnote taking process.

FIG. 5 is a diagram depicting aspects of an exemplary interaction model.

FIGS. 6A-6D depict aspects of an exemplary electronic note takingapplication interface.

FIG. 7 is a block diagram illustrating an exemplary computingenvironment for implementation of various embodiments described herein.

DETAILED DESCRIPTION

FIG. 1 is a block diagram of an exemplary computing system 100. Asdiscussed below, components of the system 100 enable free forminteraction using features of a note taking application that includingelectronic text features, electronic ink features, electronic pictures,and/or other note taking features. The components of the system 100operate to provide a rich note taking experience using a free-forminteraction model including presentation features to present pagecontent based in part on user input operations. In one embodiment, thecomponents can be configured according to an interaction model thatprovides balanced degrees of flexibility and imposed structure.

In an embodiment, the system 100 includes electronic note takingfeatures that operate to position an originating container and a cursorat a default position of an electronic page as part of a first inputoperation associated with a note taking application. For example,components of the system 100 can operate to create and position anoriginating container at an upper left hand position of a new or blankelectronic page as part of responding to a first click or tap or otherfirst input. It will be appreciated that each user device/system caninclude different input options, such as a mouse, keyboard, stylus,finger, etc.

Upon receiving a second input operation, components can operate toremove the originating container and position a new container at aninsertion point associated with the second input operation. The system100 of an embodiment uses a first input operation on a picture orassociated container as part of selecting the picture, and a secondinput operation on the picture as part of positioning a cursor at theinsertion point in the picture associated with the second inputoperation. In one embodiment, the system 100 operates to automaticallyresize a note container based in part on a size of a page and anassociated window or other interface, as discussed further below.

As shown in FIG. 1, the computing system 100 of an embodiment includes anumber of components including processor and memory resources 102. Thesystem 100 also includes a note taking client or application 104 thatincludes an input manager component or input manager 106, and/or aninteraction model 108, but is not so limited. In one embodiment, theinput manager 106 can be used to track user input operations andmaintain input states associated with the note taking application 104,but is not so limited. As discussed below, the interaction model 108 canbe configured to automatically provide interactive note taking featuresbased in part on inputs tracked by the input manager 106 or some othercomponent. In one embodiment, the interaction model 108 can beconfigured to control location of a cursor and/or insertion point on anelectronic note taking page.

As shown, the exemplary system 100 of FIG. 1 includes other applicationsand resources 110, such as an operating system, network accesscomponents, graphics and display drivers/components, communicationcomponents (e.g., radio, GSP, VOIP, etc.), input devices (e.g.,microphone, camera, haptic, tablet, touch screen, etc.), and otherfeatures. In one embodiment, the computing system 100 can be networkedwith a serving infrastructure to provide web-based note taking and otherapplication services. For example, a browser component of the system 100can be used in conjunction with a serving infrastructure to provide aweb-based note taking application experience that includes communicationusing cloud 112. Data, metadata, and other aspects of the note takingapplication can be stored locally and/or remotely.

As one example, the client 104 can be used in conjunction withelectronic features of a processor-based device or system that includesusing handwriting, text, and other processing functionalities to providefree-form note editing features. For example, electronic tablet featurescan include electronic ink manipulation techniques that enable users tocreate and modify electronic notes. The input manager 106 can operate toidentify handwriting strokes as being part of a word or drawing, and mayidentify objects based on an input, metadata, and/or file type. Theelectronic features can integrate ink, text, voice, and/or otherprocessing operations. The availability of multiple input interfacesprovides a user with a variety of ways to create electronic notes,including free from interactive inputs that result in a rich electronicnote taking experience. While a certain number and types of componentsare described above, it will be appreciated that other numbers and typescan be included according to various embodiments. Accordingly, componentfunctionality can be further divided and/or combined with othercomponent functionalities according to desired implementations.

FIG. 2 is a flow diagram illustrating aspects of an exemplary electronicnote taking process 200. For example, a note taking or other wordprocessing and graphical content authoring application can includeaspects of the exemplary process 200 as part of providing a rich andintuitive note taking experience. At 202, an electronic note page isselected and displayed within a display window having a size andconfiguration. For example, a user can use a note taking application tocreate new pages and modify existing pages that include page objects andother information, such as note containers that include electronic textand/or ink, pictures, audio, video, file attachments, and/or othernoteworthy content for graphical display. In one embodiments, contentcan be included as part of a container and/or directly on an associatedpage.

As part of an interaction model of an embodiment, the process 200 canuse the presence of a page object, such as a note container for example,on an electronic page as part of automating the user's note takingexperience. Containers of an embodiment can be used to contain text,ink, images, and other digital content. For example, the note takingapplication can be used to create a blank note page that a user can useto as part of electronic note taking operation including creating and/orpositioning one or more containers on the page. In accordance with anembodiment, a note container comprises a page object and can includedigital text and/or digital ink, but is not so limited.

The process 200 of an embodiment operates in part by tracking pagestatus parameters including page object (e.g., text container(s),picture container(s), etc.) and/or input states associated with eachpage for use in conjunction with the interaction model. For example, theprocess 200 can track the number of user clicks, click locations, and/orcontainer numbers and types and store the associated parameters inmemory. In one embodiment, a tracking bit is used to track a first inputstate (e.g., a logical “1” equates to a first input operation on a blankpage). The bit of a tracking register may or may not be reset based inpart on the interaction model implementation, described below.

If the current page does not include a page object (e.g., a notecontainer) and an input state associated with a user operation is afirst input state (e.g., first click/tap on the page), then the flowproceeds to 204 and the process 200 creates and positions an originatingcontainer and a cursor at a default location on the current page. Theuser can interact with originating container using typing inputs, inkinginputs, vocal inputs, etc. In one embodiment, the process 200 caninclude an interaction model that operates to position a note containerin an upper left hand portion of the current page, aligned with anyoriginating placeholders, configured for a left to right viewingaudience. In another embodiment, the interaction model can be configuredto position a note container in an upper right hand portion of a currentpage, aligned with any originating placeholders, configured for a rightto left viewing audience.

At 206, the process 200 operates to remove the originating container andposition a new container at an insertion point associated with a seconduser operation corresponding with a second input state (e.g., secondclick/tap on the page outside of the originating container as comparedto a double click). The user can interact with new container usingtyping inputs, inking inputs, vocal inputs, etc. If a second useroperation has not occurred, the flow proceeds to 208 and the process 200waits for a user operation.

If there is a page object comprising a picture or picture container onthe page and the input state associated with the user operation is afirst input state for the picture, the flow proceeds to 210 and thepicture is selected. At 212, the process 200 operates to position acursor at an insertion point within the bounds of the picture associatedwith a second user operation corresponding with a second input state forthe picture (e.g., second click/tap on the selected picture). If asecond user operation has not occurred, the flow proceeds to 208 and theprocess 200 waits for a user operation. At 214, if the page object isnot a picture, then default interaction applies based in part on thetype of page object. For example, a first default action for a drawingor file attachment operates to select the associated page object. Whilea certain number and order of operations is described for the exemplaryflow of FIG. 2, it will be appreciated that other numbers and orders canbe used according to desired implementations.

FIGS. 3A-3E depict aspects of an exemplary electronic note takingapplication interface 300. Referring to FIGS. 3A-3C, the interface 300is shown at various times as a user uses the note taking application. Asshown in FIG. 3A, the user has opened or selected an electronic page 302that includes a page display surface 304. As shown, the page displaysurface 304 of one embodiment includes predefined placeholders 306 and308 for presenting a page title and date/time information.

As shown in FIG. 3A, the page display surface 304 does not include apage object, such as a note container for example. Assume for thisexample that the user has not yet interacted with the page displaysurface 304. Thus, an input state associated with the electronic page302 at this instance is zero, signifying that a first input operationhas not occurred. As described above, the input state can also be resetto zero when a user re-navigates to a page that does not include or isabsent a note container. The input state can also be reset whenswitching window focus or restarting the note taking application.

Referring to FIG. 3B, the user's first input operation (e.g., click/tap)coincides with a page location 310 (operation shown by cursor 312) onthe page display surface 304. Since this is the first input operation(e.g., first click/tap) associated with the page, the note takingapplication of an embodiment automatically and simultaneously creates anoriginating note container 314 and cursor 316 at a default location 318on the page display surface 304, saving the input state to memory. Inone embodiment, the default location 318 coincides with an upper lefthand page position in alignment or justified with any placeholderobjects. Accordingly, an input state associated with the electronic page302 at this instance is one, signifying that a first input operation hasoccurred.

Referring to FIG. 3C, the user's second input operation (e.g.,click/tap) occurs again at page location 310 of page display surface304. Thus, an input state associated with the electronic page 302 atthis instance is two, signifying that a second input operation hasoccurred. The second input operation (not classified as a double click)causes the note taking application of an embodiment to automaticallyremove originating note container 314 and create a new note container320 and cursor 322 at page location 310 on the page display surface 304.

Referring to FIG. 3D, the user's first input operation (e.g., click,tap, arrow over, etc.) coincides with a page location 324 (operationshown by cursor 312) coinciding with picture or image 326 displayed onthe page display surface 304. Assume for this example that the input isa first input operation on the image 326. Since this is the first inputoperation (e.g., first click/tap) associated with the image, the notetaking application of an embodiment automatically selects the image 326,depicting the user selection using informative indicia (e.g., targeticon 328 and highlighted outline 330), saving the input state to memory.Accordingly, an input state associated image 326 at this instance isone, signifying that a first input operation has occurred for this pageobject.

Referring to FIG. 3E, the user's second input operation (e.g., click,tap, etc.) occurs again at page location 324, coinciding with image 326displayed on the page display surface 304, the user input continuing tobe relative to a selection state of the image or picture. Thus, an inputstate associated with the image 326 at this instance is two, signifyingthat a second input operation has occurred. The second input operationcauses the note taking application of an embodiment to automaticallyinsert a cursor 332 at page location 324 within image 326.

The image can also be selected by arrowing to the image using arrow keyswhich can also correspond with a first image input state. Subsequentinteraction with the image (e.g., a click, tap, etc.) on the imageoperates to insert a cursor at the insertion point. As long as thesecond input operation coincides with image 326 (and not necessarily ata same location of a first click/tap operation), the note takingapplication of this embodiment automatically inserts a cursor at anassociated insertion point. At all or select times, the note takingapplication operates to track and store input states, container states,and/or other page parameters in memory.

FIG. 4 is a flow diagram illustrating aspects of an exemplary electronicnote taking process 400. For example, a note taking application caninclude aspects of the exemplary process 400 as part of providing a richinteractive computer-implemented note taking experience. At 402, theprocess 400 operates to determine a size of an active window used todisplay aspects of an electronic note taking application interface, suchas one or more sections, pages, interaction tools, and other note takingapplication features. For example, a note taking application or othercomponent can operate to track window dimensions (e.g., length×width)for open application windows of a user computer display.

At 404, the process 400 operates to determine a size of an electronicpage displayed in the active window. For example, a note takingapplication or other component can operate to track electronic note pagedimensions (e.g., length×width) displayed in an open window. At 406, theprocess 400 operates to determine a container state of a selectedelectronic note page. For example, a note taking application or othercomponent can operate to track rendering of containers (e.g., textcontainers, ink containers, picture containers, etc.) on an electronicnote page. In an embodiment, a container state value can be used totrack container renderings for each electronic page (e.g., 0=zerocontainers, 1=one container, 2=two containers, etc.). In one embodiment,a container state can be used to track types of container renderings foreach electronic page (e.g., 0nc=zero note containers, 1nc=one notecontainer, 2nc=two note containers, 0pc=zero picture containers, 1pc=onepicture container, etc.)

At 408, the process 400 operates to determine an input state associatedwith the selected electronic note page. For example, a note takingapplication or other component can operate to track the number of timesthat a user has interacted with each page and/or page object. In anembodiment, an input state value can be used to track user inputs foreach electronic page (e.g., 0=no clicks/taps, 1=first click/tap,2=second click/tap, etc.). In one embodiment, the process 400 operatesto reset an input state if a user navigates to another page beforereturning to a previous used page. At 410, the process 400 of anembodiment operates to adjust aspects of a note container and anyassociated content if a note taking application window is resized to atleast one resize threshold and the current page includes only one notecontainer. In one embodiment, first and second adjustment or transitionranges are used to determine whether to resize an electronic note pagebased in part on associated window size and page size parameters.

If the window has not been resized, the flow returns to 406. In analternative embodiment, the process 400 operates to adjust aspects ofmultiple note containers displayed on a page using adjustment thresholdsfor each container based in part on a location and a type of content ofeach note container. For example, the process 400 can operate toprioritize adjusting of text containers over ink containers and picturecontainers, and prioritize adjusting ink containers and picturecontainers. Various window parameters, page parameters, container stateparameters, input state parameters, and other parameters can be storedin local and/or remote memory. While a certain number and order ofoperations is described for the exemplary flow of FIG. 4, it will beappreciated that other numbers and orders can be used according todesired implementations.

FIG. 5 is a diagram depicting aspects of an exemplary interaction model500 that can be used to automatically adjust aspects of a note takingapplication interface. For example, the interaction model 500 of oneembodiment can be used in conjunction with an operating system componentor components to automatically adjust aspects of the note takingapplication interface within a display window. As shown in FIG. 5, theinteraction model 500 of an embodiment includes first and secondnon-resizing zones or ranges 502 and 504, and first and second resizingzones or ranges 506 and 508, but is not so limited.

The non-resizing ranges 502 and 504 include distinct page ranges (e.g.,width portions in inches, centimeters, etc.) wherein a single notecontainer is not to be resized including freezing any associated contentfrom reflow. For example, if a user resizes an application window thatincludes a single note container within these non-resizing ranges, thenote taking application will not resize the note container or re-renderany associated content to extend further down and/or across a page.

The resizing ranges 506 and 508 include distinct page ranges wherein thenote taking application can automatically resize a single note containerand reflow any associated content (e.g., digital text) based in part oncertain transition thresholds and page and/or window sizes. Eachresizing range of one embodiment can be used as a queue for a notetaking application to use as part of automatically resizing a notecontainer, including reflow of any associated content (e.g., extendcontent further down and/or across a page) as the user resizes anassociated application window. For example, when resizing an applicationwindow, if an application window width coincides with a resize rangeportion, the note taking application can automatically resize the notecontainer and re-render any associated content on the page.

As shown in FIG. 5, the interaction model 500 of one embodiment can beused in conjunction with a base viewport width 509 to define anon-resizing range 502 as including a leftmost portion 510 (e.g., zeroinches, 1^(st) character beyond margin space, etc.) of the viewport upto and including a first transition threshold 512 (e.g., 1.5 inches),and a non-resizing range 504 as including anything greater than or equalto a third transition threshold 516 (e.g., 8.5 inches) up to a maximumviewport width 518.

In accordance with such an embodiment, resizing range 506 of theinteraction model 500 can be defined as including the first transitionthreshold 512 up to and including a second transition threshold 514(e.g., 5.7 inches), and resizing range 508 can be defined as includingthe second transition threshold 514 up to and including the thirdtransition threshold 516. As described above, the interaction model 500can be used to control if and how much a note container is to be resizedor adjusted based in part on associated viewport dimensions.

In one embodiment, the interaction model 500 can be used in conjunctionwith a note taking application to automatically resize a single notecontainer of a note page using a first resizing threshold/percentage(e.g., resize container to 70% of available page width) when anapplication window width dimension is within the second resizing range508, and to a second resizing threshold/percentage (e.g., resizecontainer to 95% of available page width) when an application windowwidth dimension is within the first resizing range 506. Otherembodiments can include other interaction parameters and features.

FIGS. 6A-6D depict aspects of an exemplary electronic note takingapplication interface 600. As shown, FIGS. 6A-6D depict a progression ofresizing operations to an application window 602 displaying aspects of anote taking page interface 604, including any associated adjustmentsmade to the single note container 606 as part of a resizing operation.As shown in FIG. 6A, for the current application state, the applicationwindow 602 has a width dimension 608 and the page interface 604 has awidth dimension 610. As the user resizes the application window 602, thewidth dimension 608 can change to larger and smaller dimensions, whichmay or may not affect the presentation of the note container 606 and/orany associated content according to an implemented interaction model.

In one embodiment, an interaction model can be used with a note takingapplication to adjust a width dimension of the note container 606 basedin part on a number of transition thresholds or states and at least oneapplication window dimension. For this example, the exemplaryinteraction model 500 will be used to describe any adjustments made tothe note container 606 and any associated content. As shown in FIG. 6B,the application window 602 has been resized beyond the third transitionthreshold 516 and the width dimension 608 of application window 602falls within the resizing range 508. Thus, the note taking applicationuses the resizing parameters of the interaction model 500 toautomatically resize the note container 606.

In one embodiment, the interaction model 500 can be used to auto adjusta width of the note container 606 to fill approximately seventy percent(70%) of the available page dimension 610 based in part on theapplication window and/or page size. The remaining page area(approximately thirty percent (30%)) can be displayed as available spacefor incorporation of one or more additional containers. For the exampledescribed with reference to FIGS. 6B-6D, assume that page interface 604includes a width dimension 610 of about 10.6 inches wide and a heightdimension of about 8 inches high (e.g., 1024×768 pixels). If page tabsconsume about 1.5 inches of width and about 0.5 inches is allocated fora collapsed left navigation pane etc., the maximum page width dimensionfor this example includes about 8.5 inches.

Thus, as shown generally in FIG. 6A, if the application window 602 ismaximized and an exemplary page width dimension is 8.5 inches orgreater, then the interaction model 500 can be used to adjust thecontainer width dimension such that the note container 606 width fills70% of the page width dimension, including the left margin. The 30%remainder portion 614 can be used as a canvas to create another notecontainer for example. As shown in FIG. 6B, during window resizing, aslong as the page dimension 610 remains within the resizing range 508,the note container 606 is resized to fill 70% of the available pagewidth, again including the left margin and the 30% remainder portion614. That is, if the page contains only a single outline or notecontainer for example, and the page width is within resizing range 508,then the outline fills 70% of the page width as the application window502 is resized within this range.

If the application window 602 is resized further such that the pagewidth dimension 610 falls below the second transition threshold 514(e.g., below about 30% wherein the available page width is now belowabout ˜5.7 inches) but within resizing range 506, the interaction model500 can be used to auto adjust the note container 606 width to fillapproximately ninety five percent (95%) of the available page dimension610 including the left margin as shown in FIG. 6C. The resize behaviorcontinues during the resizing range 506 until the page width falls belowthe first transition threshold 512 (e.g., about 1.5 inches) and intonon-resizing range 502 where the note container 606 remains at a fixedwidth as shown in FIG. 6D.

As discussed briefly above, resize parameters (e.g., 70% factor, 95%factor, etc.) and all threshold points (8.5, 5.7, 1.5 inches) can beupdated based on user/usability feedback. In an embodiment, a notetaking application does not store container resize width values until auser manually changes a width dimension by resizing a note containeroutline. Note container resizing includes reflowing content as thecontainer is resized. To avoid “jumps” or erratic rendering at thresholdpoints and to ensure a smooth reflow, the interaction model can beconfigured to include granular resizing operations that appear gradualover about a 0.5 inch range surrounding threshold points (e.g., 0.25inches on either side of each threshold or transition point).

In one embodiment, the note taking application can use an interactionmodel that uses two separate flags to track 1) when a user manuallyresizes a note container outline, and 2) when the application implicitlyfixes the note container outline width due to location of a second notecontainer on a page. Thus, for example, if user adds another notecontainer in the 30% allocation area, then each note container outlinecan be automatically rendered at a fixed width, respectively. If a usermanually adjusts the note container outline width (e.g., drags an edge)its flag is set to correspond as being fixed width.

Thus, the note taking application of an embodiment can operate tomaintain note container outlines at fixed widths due to the introductionof a second page level object or manual adjustment of a note container.For example, a note container outline can be fixed to a current widthdimension when a second page level object is added to a page. Containeroutline widths can also be locked for electronic ink. In one embodiment,if a user deletes a second page level object, the initial page objectreturns to wrapping status if: (a) the initial object is the onlyoutline remaining on the page, and (b) the user had not manually changedthe outline width due to resizing operations. Otherwise, the initialobject does not return to wrapping status.

Dragging a single note container outline on the page surface can alsooperate to fix the position and size of the note container outline. Inone embodiment, a default position for an originating note containeroutline is defined as about ten (10) pixels to the right of the pagemargin and about thirty (30) pixels below the top of the page title andtime stamp, wherein opening a page and clicking anywhere on the pageoperates to create the originating note container at the defaultposition.

In one embodiment, the following parameters and algorithm can be used aspart of an interaction model including:

1) Viewport_Width=the visible width in inches of the page surface (e.g.,white surface area, not including the section frame borders, page tabs,and scroll bars). A default example value is 8.5 inches.

2) Transition1 [default value=8.5 inches]=the VIEWPORT_WIDTH value belowwhich the note container outline far edge switches to PERCENT1=70 ofavailable width.

3) Transition2 [default value=5.7 inches]=the VIEWPORT_WIDTH value belowwhich the note container outline far edge switches to PERCENT2=95%.

4) MaximumTransition [default value=10.6 inches]=maximum screen widthbeyond which the note container outline will not continue to widen.

5) Minimum Transition [default value=1.5 inches]=minimum screen widthbeyond which the note container outline will not continue to shrink.

6) Percent1: default value=70%−resizing percent for transition 1.

7) Percent2: default value=95%−resizing percent for transition 2.

8) Outline_Width=the width of the note container outline in inches.

9) Left_Margin [default width=0.3 inches]=this is the margin/space tothe left of note container outline.

The above parameters can be implemented as registry key settings whichcan be altered based on user feedback and input.

The algorithm of an embodiment can be defined as:

SWITCH

-   -   i. CASE (ViewPort_Width>Transition1) &&        (ViewPort_Width<=MaximumTransition), then        Outline_Width=(ViewPort_Width*Percent1)−Left_Margin    -   ii. CASE (ViewPort_Width<=Transition1) &&        (ViewPort_Width>MinimumTransition) then        Outline_Width=(ViewPortWidth*Percent2)−Left_Margin    -   iii. CASE (ViewPort_Width<=MinimumTransition) then        Outline_Width=(MinimumTransition*Percent2)−Left_Margin    -   iv. CASE ViewPort_Width>MaxTransition then        Outline_Width=(MaxTransition*Percent1)−Left_Margin

If a user input (e.g., click/tap) is located at the bottom of a notecontainer outline within an associated expansion zone, then the notetaking application of an embodiment can operate to expand the outlineand position the insertion point at the user input location on the page.Double click operations of an embodiment operate to pin the cursor andcreate a new container outline even if it is within the zone of aprevious container outline. For digital ink, the note taking applicationcan operate to lock the size of an associated container outline toprevent resizing.

In an embodiment, the note taking application can be implemented withina networked communication environment that includes a networkedassociation of computing devices/systems and associated communicationinfrastructure. The environment may include multiple communicationnetworks, server components (e.g., project server, collaboration server,file server, etc.), and/or client devices/systems having variouscommunication functionalities (e.g., smart phone, laptop, notebook,desktop, etc.).

Exemplary communication environments can include the use of securenetworks, unsecure networks, hybrid networks, and/or some other networkor combination of networks. By way of example, and not limitation, theenvironment can include wired media such as a wired network ordirect-wired connection, and/or wireless media such as acoustic, radiofrequency (RF), infrared, and/or other wired and/or wireless media andcomponents. In addition to computing systems, devices, etc., variousembodiments can be implemented as a computer process (e.g., a method),an article of manufacture, such as a computer program product orcomputer readable media, computer readable storage medium, and/or aspart of various communication architectures. An exemplary computerprogram product can include computer storage media that includes useableelectronic note taking instructions.

The embodiments and examples described herein are not intended to belimiting and other embodiments are available. Moreover, the componentsdescribed above can be implemented as part of networked, distributed,and/or other computer-implemented environment. The components cancommunicate via a wired, wireless, and/or a combination of communicationnetworks. Network components and/or couplings between components of caninclude any of a type, number, and/or combination of networks and thecorresponding network components include, but are not limited to, widearea networks (WANs), local area networks (LANs), metropolitan areanetworks (MANs), proprietary networks, backend networks, etc.

Client computing devices/systems and servers can be any type and/orcombination of processor-based devices or systems. Additionally, serverfunctionality can include many components and include other servers.Components of the computing environments described in the singular tensemay include multiple instances of such components. While certainembodiments include software implementations, they are not so limitedand encompass hardware, or mixed hardware/software solutions. Otherembodiments and configurations are available.

Exemplary Operating Environment

Referring now to FIG. 7, the following discussion is intended to providea brief, general description of a suitable computing environment inwhich embodiments of the invention may be implemented. While theinvention will be described in the general context of program modulesthat execute in conjunction with program modules that run on anoperating system on a personal computer, those skilled in the art willrecognize that the invention may also be implemented in combination withother types of computer systems and program modules.

Generally, program modules include routines, programs, components, datastructures, and other types of structures that perform particular tasksor implement particular abstract data types. Moreover, those skilled inthe art will appreciate that the invention may be practiced with othercomputer system configurations, including hand-held devices,multiprocessor systems, microprocessor-based or programmable consumerelectronics, minicomputers, mainframe computers, and the like. Theinvention may also be practiced in distributed computing environmentswhere tasks are performed by remote processing devices that are linkedthrough a communications network. In a distributed computingenvironment, program modules may be located in both local and remotememory storage devices.

Referring now to FIG. 7, an illustrative operating environment forembodiments of the invention will be described. As shown in FIG. 7,computer 2 comprises a general purpose desktop, laptop, handheld, orother type of computer capable of executing one or more applicationprograms. The computer 2 includes at least one central processing unit 8(“CPU”), a system memory 12, including a random access memory 18 (“RAM”)and a read-only memory (“ROM”) 20, and a system bus 10 that couples thememory to the CPU 8. A basic input/output system containing the basicroutines that help to transfer information between elements within thecomputer, such as during startup, is stored in the ROM 20. The computer2 further includes a mass storage device 14 for storing an operatingsystem 24, application programs, and other program modules.

The mass storage device 14 is connected to the CPU 8 through a massstorage controller (not shown) connected to the bus 10. The mass storagedevice 14 and its associated computer-readable media providenon-volatile storage for the computer 2. Although the description ofcomputer-readable media contained herein refers to a mass storagedevice, such as a hard disk or CD-ROM drive, it should be appreciated bythose skilled in the art that computer-readable media can be anyavailable media that can be accessed or utilized by the computer 2.

By way of example, and not limitation, computer-readable media maycomprise computer storage media and communication media. Computerstorage media includes volatile and non-volatile, removable andnon-removable media implemented in any method or technology for storageof information such as computer-readable instructions, data structures,program modules or other data. Computer storage media includes, but isnot limited to, RAM, ROM, EPROM, EEPROM, flash memory or other solidstate memory technology, CD-ROM, digital versatile disks (“DVD”), orother optical storage, magnetic cassettes, magnetic tape, magnetic diskstorage or other magnetic storage devices, or any other medium which canbe used to store the desired information and which can be accessed bythe computer 2.

According to various embodiments of the invention, the computer 2 mayoperate in a networked environment using logical connections to remotecomputers through a network 4, such as a local network, the Internet,etc. for example. The computer 2 may connect to the network 4 through anetwork interface unit 16 connected to the bus 10. It should beappreciated that the network interface unit 16 may also be utilized toconnect to other types of networks and remote computing systems. Thecomputer 2 may also include an input/output controller 22 for receivingand processing input from a number of other devices, including akeyboard, mouse, etc. (not shown). Similarly, an input/output controller22 may provide output to a display screen, a printer, or other type ofoutput device.

As mentioned briefly above, a number of program modules and data filesmay be stored in the mass storage device 14 and RAM 18 of the computer2, including an operating system 24 suitable for controlling theoperation of a networked personal computer, such as the WINDOWSoperating systems from MICROSOFT CORPORATION of Redmond, Wash. The massstorage device 14 and RAM 18 may also store one or more program modules.In particular, the mass storage device 14 and the RAM 18 may storeapplication programs, such as word processing, spreadsheet, drawing,e-mail, and other applications and/or program modules, etc.

It should be appreciated that various embodiments of the presentinvention can be implemented (1) as a sequence of computer implementedacts or program modules running on a computing system and/or (2) asinterconnected machine logic circuits or circuit modules within thecomputing system. The implementation is a matter of choice dependent onthe performance requirements of the computing system implementing theinvention. Accordingly, logical operations including related algorithmscan be referred to variously as operations, structural devices, acts ormodules. It will be recognized by one skilled in the art that theseoperations, structural devices, acts and modules may be implemented insoftware, firmware, special purpose digital logic, and any combinationthereof without deviating from the spirit and scope of the presentinvention as recited within the claims set forth herein.

Although the invention has been described in connection with variousexemplary embodiments, those of ordinary skill in the art willunderstand that many modifications can be made thereto within the scopeof the claims that follow. Accordingly, it is not intended that thescope of the invention in any way be limited by the above description,but instead be determined entirely by reference to the claims thatfollow.

1. A method comprising: determining a container state of an electronicpage; determining an input state of an application; and using aninteraction model in part to determine whether to adjust a containerpresentation based in part on the container state and a number oftransition ranges that include a first transition threshold used in partto automatically adjust the container presentation to a first portion ofan available page dimension, and a second transition threshold used inpart to automatically adjust the container presentation to a secondportion of the available page dimension.
 2. The method of claim 1,wherein the input state corresponds with a first input occurrence whenthe electronic page is absent of a page object.
 3. The method of claim2, further comprising storing parameters associated with the first inputoccurrence including resize parameters of the application window whenthe electronic page includes a note container.
 4. The method of claim 3,wherein the input state corresponds to a first input occurrence when theelectronic page includes a picture.
 5. The method of claim 2, furthercomprising determining an insertion point associated with a first inputoperation at a first location on the electronic page and automaticallypositioning an originating note container at a default position on theelectronic page.
 6. The method of claim 5, wherein the default positioncoincides with an upper left position portion of the electronic page inresponse to a first click, first tap, or other first input operationassociated with the electronic page.
 7. The method of claim 5, furthercomprising removing the originating note container and using aninsertion point associated with a second input operation as part ofautomatically positioning a new note container at the insertion pointassociated with the second input operation.
 8. The method of claim 4,selecting the picture in conjunction with the first input occurrence andautomatically inserting a cursor at an insertion point in the picture inconjunction with a second input occurrence.
 9. The method of claim 1,further comprising automatically resizing the container presentation toabout seventy percent of the available page width as part of a firstresizing operation and automatically resizing the container presentationto about ninety five percent of the available page width as part of asecond resizing operation.
 10. A computer readable media includingoperational instructions to perform a method comprising: detecting aninput operation associated with an electronic note page, wherein theinput operation coincides with a first page location; positioning anoriginating container and a cursor at a default insertion point when theelectronic note page is absent of a container and an input statecorresponds to a first input operation in conjunction with theelectronic note page; removing the originating container and positioninga new container and the cursor at the insertion point when the inputstate corresponds to a second input operation; and transitioning adisplay of the new container and content rendered on the electronic notepage using an interaction model that includes resizing ranges toautomatically adjust the new container to a first percentage of anavailable page dimension and to a second percentage of the availablepage dimension as part resizing operations.
 11. The computer readablemedia of claim 10, further comprising selecting a picture in conjunctionwith a first picture input operation.
 12. The computer readable media ofclaim 11, further comprising positioning the cursor at an insertionpoint in the picture in conjunction with a second picture inputoperation.
 13. The computer readable media of claim 10, furthercomprising resetting the input state if a user navigates back to theelectronic note page from a different electronic note page.
 14. A systemcomprising: at least one processor; a note taking component including:an input manager to detect and manage interactive inputs with anelectronic page as part of controlling location of an insertion pointand a note container on the electronic page; and an interaction model toadjust parameters of a note taking interface including to adjust a notecontainer dimension and reflow any associated content based in part on anumber of transition thresholds that define non-resizing and resizingranges of the electronic page; and memory to store parameters includinginput parameters associated with input operations.
 15. The system ofclaim 14, wherein the note container is used to contain one of text,digital ink, and a picture.
 16. The system of claim 14, wherein theinput manager uses first and second input operations to control thelocation of the note container.
 17. The system of claim 14, wherein theinput manager uses a tracking register to store user input parametersassociated with the electronic page.
 18. The system of claim 17, whereinthe tracking register is reset upon navigating from the electronic page.19. The system of claim 14, wherein each resizing range includes a rangeof page widths wherein the note container is presented to encompass adefined percentage of an available page width.
 20. The system of claim14, wherein a first input operation on a blank electronic page operatesto position an originating note container at a default location on thepage.